1. Field of the Invention
The invention relates generally to input/output flow control for a computer system and, more particularly, to a system and method for controlling the flow of input/output requests in a distributed shared memory multiprocessor system.
2. Related Art
In multiprocessor computer systems, there may be common input/output (I/O) access paths which enable the individual processors to access a plurality of different I/O interfaces or busses. Sharing of these common I/O access paths is, at times, troublesome. For example, one particularly troublesome problem is when one or more processors begin to overrun one of the I/O busses. This can cause the common I/O access path to become blocked. Once the common I/O access path becomes blocked, all I/O going through the common access path is stopped. I/O requests to other I/O busses will be prevented even through those busses are not busy. Thus, the backup of a single I/O bus will prevent I/O requests from reaching all other I/O busses sharing the common access path.
Overruns occur because one or more processors are accessing a target I/O bus faster than the bus is capable of accepting the transactions. Overrunning can also occur because the I/O bus has a temporary condition which forces a delay in processing one of the posted requests.
It is desirable to minimize the interference by a backed-up or overrun I/O bus to other I/O busses sharing the common I/O access path.